package com.tinem.platform.web.gateway;


import com.tinem.platform.module.starter.jpa.annotation.EnableJpa;
import com.tinem.platform.module.starter.sdk.annotation.EnableMessage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.scheduling.annotation.EnableScheduling;

@Slf4j
@EnableJpa
@EnableMessage
@EnableScheduling
@SpringBootApplication
@EnableDiscoveryClient
public class GatewayWebApplication {

    public static void main(String[] args) {

        long startTime = System.currentTimeMillis();

        //这个参数的作用是先使用后回收的连接，而不是先使用先回收的连接。所以这2个参数的配合使用，可以让网关始终能够取到一个比较新鲜的连接。而不会导致后端连接中断而Scg的连接取到的是一个是比较旧的并且很可能是一个后端已经主动断开的连接。
        System.setProperty("reactor.netty.pool.leasingStrategy", "lifo");
        new SpringApplicationBuilder(GatewayWebApplication.class).run(args);

        long endTime = System.currentTimeMillis();
        System.out.println("start success; duration:("+ (endTime - startTime) +");startTime:("+startTime+");endTime:("+ endTime +")");
        log.info("start success; duration:({});startTime:({});endTime:({})",(endTime - startTime),startTime,endTime);

    }
}
